public class Kantine {
    private Kassa kassa;
    private KassaRij kassarij;
    private KantineAanbod kantineaanbod;

    /**
     * Constructor
     */
    public Kantine() 
    {
        kassarij=new KassaRij();
        kassa=new Kassa(kassarij);
    }
    
    /**
    * In deze methode kiest een Persoon met een dienblad
    * de artikelen in artikelnamen.
    * @param persoon De persoon welke het artikel toevoegt aan zijn dienblad.
    * @param artikelnamen stringarray met artikelnamen van de toe te voegen artikelen
    */
    public void loopPakSluitAan(Persoon persoon, String[] artikelnamen)
    {
        for (String artikelNaam : artikelnamen)
        {
            Artikel artikel = this.getKantineAanbod().getArtikel(artikelNaam);
            persoon.getDienblad().voegToe(artikel);
        }
        kassarij.sluitAchteraan(persoon);
    }

    /**
     * Deze methode handelt de rij voor de kassa af.
     */
    public void verwerkRijVoorKassa() 
    {
        while(kassarij.erIsEenRij()) 
        {
            Persoon wachtende = kassarij.eerstePersoonInRij();
            kassa.rekenAf(wachtende);
        }
    }
    
    /**
     * Deze methode geeft de variabele kassa door
     * @return Kassa Het kassa object
     */
    public Kassa getKassa()
    {
        return this.kassa;
    }
    
    /**
     * Deze methode geeft de variabele kantineaanbod door
     * @return KantineAanbod Het kantineaanbod object
     */
    public KantineAanbod getKantineAanbod()
    {
        return this.kantineaanbod;
    }
    
    /**
     * Deze methode geeft de variabele kantineaanbod door
     * @return KantineAanbod Het kantineaanbod object
     */
    public void setKantineAanbod(KantineAanbod kantineaanbod)
    {
        this.kantineaanbod = kantineaanbod;
    }
}